﻿using System;
using System.Collections.Generic;
using System.Text;
using Meqs.Entity;
using Meqs.Entity.Views;
using System.Collections;

namespace Meqs.Logic.Interface
{
    public interface ITeacherRolesLogic : ICommonLogic<TeacherRoles, int>
    {
        /// <summary>
        /// 获取行政人员名单
        /// </summary>
        IList<TeacherRoleInfoView> FindTeacherInStaff(int id, String schoolMark, int scholYear, int term);

        /// <summary>
        /// 获取年级组名单
        /// </summary>
        IList<TeacherRoleInfoView> FindTeacherInGrade(int id, String schoolMark, int scholYear, int term);

        /// <summary>
        /// 获取教研组名单
        /// </summary>
        IList<TeacherRoleInfoView> FindTeacherInSubject(int id, String schoolMark, int scholYear, int term);

        /// <summary>
        /// 删除教师角色
        /// </summary>
        /// <param name="ht"></param>
        /// <returns></returns>
        int DeleteBy(Hashtable ht);

        /// <summary>
        /// 获取所有代课教师
        /// </summary>
        /// <param name="schoolMark"></param>
        /// <param name="scholYear"></param>
        /// <param name="term"></param>
        /// <param name="roleKey">null-所有身份的教工，任课老师-Class_Teacher，班主任-Class_Header等</param>
        /// <returns></returns>
        IList<TeacherRoleInfoView> FindAllTeachers(String schoolMark, int scholYear, int term, string roleKey);

        /// <summary>
        /// 学期升级时权限表升级
        /// </summary>
        /// <param name="schoolMark"></param>
        /// <param name="schoolYear"></param>
        /// <returns></returns>
        int UpdateTerm(String schoolMark, int schoolYear);
        /// <summary>
        /// 获取教研组备课组年级组领导名单
        /// </summary>
        IList<TeacherRoles> FindTeacherLeader(String schoolMark, int scholYear, int term);
    }
}
